Load Data

dataset <- read.delim("raw_data/FigureS3_eto.txt", stringsAsFactors = FALSE)

dataset$genotype <- gsub(" ", "", dataset$genotype )
dataset$genotype <- factor(dataset$genotype)
dataset$Experiment <- factor(rep(paste0("exp", 1:(length(dataset$genotype)/length(levels(dataset$genotype)))), each=length(unique(dataset$genotype))))

dataset$siRNA <-  factor(gsub(".*[T,O]\\+","",dataset$genotype))
dataset$genotype <-  factor(gsub("\\+.*","",dataset$genotype))

dataset$UID <- factor(paste(dataset$Experiment, dataset$genotype, dataset$siRNA))
dataset$GSID <- factor(paste(dataset$genotype, dataset$siRNA))

# wide format
kable(dataset, row.names = F)
genotype NT etoposide_5uM etoposide_10uM etoposide_25uM Experiment siRNA UID GSID
WT 1434 991 685 222 exp1 siCtrl exp1 WT siCtrl WT siCtrl
WT 1191 555 43 29 exp1 siPARP1 exp1 WT siPARP1 WT siPARP1
ALC1KO 1409 631 11 4 exp1 siCtrl exp1 ALC1KO siCtrl ALC1KO siCtrl
ALC1KO 1199 523 7 4 exp1 siPARP1 exp1 ALC1KO siPARP1 ALC1KO siPARP1
WT 2704 1555 1088 596 exp2 siCtrl exp2 WT siCtrl WT siCtrl
WT 1902 656 560 21 exp2 siPARP1 exp2 WT siPARP1 WT siPARP1
ALC1KO 1912 672 592 59 exp2 siCtrl exp2 ALC1KO siCtrl ALC1KO siCtrl
ALC1KO 3200 1010 976 10 exp2 siPARP1 exp2 ALC1KO siPARP1 ALC1KO siPARP1
WT 2845 1288 991 566 exp3 siCtrl exp3 WT siCtrl WT siCtrl
WT 1805 722 494 2 exp3 siPARP1 exp3 WT siPARP1 WT siPARP1
ALC1KO 1912 886 528 14 exp3 siCtrl exp3 ALC1KO siCtrl ALC1KO siCtrl
ALC1KO 2220 1220 545 4 exp3 siPARP1 exp3 ALC1KO siPARP1 ALC1KO siPARP1
library(reshape2)
# reshape to long format
dataset <- melt(dataset, variable.name = "Treatment", value.name = "Counts")

dataset$genotype <- relevel(dataset$genotype, ref = "WT")
dataset$siRNA <- relevel(dataset$siRNA, ref = "siCtrl")
dataset$UID <- relevel(dataset$UID, ref = "exp1 WT siCtrl")

dataset$Etoposide <- gsub("NT","1",dataset$Treatment)
dataset$Etoposide <- gsub("etoposide_|uM","",dataset$Etoposide)
dataset$Etoposide <- log10(as.integer(dataset$Etoposide))




dataset$Offset <- NA
for(uid in levels(dataset$UID)){
        dataset$Offset[dataset$UID == uid] <- mean(dataset$Counts[dataset$UID == uid])
}

dataset$NormCounts <- dataset$Counts / dataset$Offset



dataset$Offset2 <- NA
for(gsid in levels(dataset$GSID)){
        dataset$Offset2[dataset$GSID == gsid] <- mean(dataset$NormCounts[dataset$GSID == gsid & dataset$Etoposide == 0])
}

dataset$NormCounts2 <- dataset$NormCounts / dataset$Offset2



# long format
kable(dataset, row.names = F)
genotype Experiment siRNA UID GSID Treatment Counts Etoposide Offset NormCounts Offset2 NormCounts2
WT exp1 siCtrl exp1 WT siCtrl WT siCtrl NT 1434 0.00000 833.00 1.7214886 1.847148 0.9319710
WT exp1 siPARP1 exp1 WT siPARP1 WT siPARP1 NT 1191 0.00000 454.50 2.6204620 2.477507 1.0577013
ALC1KO exp1 siCtrl exp1 ALC1KO siCtrl ALC1KO siCtrl NT 1409 0.00000 513.75 2.7425791 2.465514 1.1123762
ALC1KO exp1 siPARP1 exp1 ALC1KO siPARP1 ALC1KO siPARP1 NT 1199 0.00000 433.25 2.7674553 2.485670 1.1133638
WT exp2 siCtrl exp2 WT siCtrl WT siCtrl NT 2704 0.00000 1485.75 1.8199563 1.847148 0.9852789
WT exp2 siPARP1 exp2 WT siPARP1 WT siPARP1 NT 1902 0.00000 784.75 2.4237018 2.477507 0.9782827
ALC1KO exp2 siCtrl exp2 ALC1KO siCtrl ALC1KO siCtrl NT 1912 0.00000 808.75 2.3641422 2.465514 0.9588842
ALC1KO exp2 siPARP1 exp2 ALC1KO siPARP1 ALC1KO siPARP1 NT 3200 0.00000 1299.00 2.4634334 2.485670 0.9910540
WT exp3 siCtrl exp3 WT siCtrl WT siCtrl NT 2845 0.00000 1422.50 2.0000000 1.847148 1.0827501
WT exp3 siPARP1 exp3 WT siPARP1 WT siPARP1 NT 1805 0.00000 755.75 2.3883559 2.477507 0.9640160
ALC1KO exp3 siCtrl exp3 ALC1KO siCtrl ALC1KO siCtrl NT 1912 0.00000 835.00 2.2898204 2.465514 0.9287396
ALC1KO exp3 siPARP1 exp3 ALC1KO siPARP1 ALC1KO siPARP1 NT 2220 0.00000 997.25 2.2261218 2.485670 0.8955821
WT exp1 siCtrl exp1 WT siCtrl WT siCtrl etoposide_5uM 991 0.69897 833.00 1.1896759 1.847148 0.6440608
WT exp1 siPARP1 exp1 WT siPARP1 WT siPARP1 etoposide_5uM 555 0.69897 454.50 1.2211221 2.477507 0.4928835
ALC1KO exp1 siCtrl exp1 ALC1KO siCtrl ALC1KO siCtrl etoposide_5uM 631 0.69897 513.75 1.2282238 2.465514 0.4981614
ALC1KO exp1 siPARP1 exp1 ALC1KO siPARP1 ALC1KO siPARP1 etoposide_5uM 523 0.69897 433.25 1.2071552 2.485670 0.4856458
WT exp2 siCtrl exp2 WT siCtrl WT siCtrl etoposide_5uM 1555 0.69897 1485.75 1.0466095 1.847148 0.5666083
WT exp2 siPARP1 exp2 WT siPARP1 WT siPARP1 etoposide_5uM 656 0.69897 784.75 0.8359350 2.477507 0.3374098
ALC1KO exp2 siCtrl exp2 ALC1KO siCtrl ALC1KO siCtrl etoposide_5uM 672 0.69897 808.75 0.8309119 2.465514 0.3370137
ALC1KO exp2 siPARP1 exp2 ALC1KO siPARP1 ALC1KO siPARP1 etoposide_5uM 1010 0.69897 1299.00 0.7775212 2.485670 0.3128014
WT exp3 siCtrl exp3 WT siCtrl WT siCtrl etoposide_5uM 1288 0.69897 1422.50 0.9054482 1.847148 0.4901870
WT exp3 siPARP1 exp3 WT siPARP1 WT siPARP1 etoposide_5uM 722 0.69897 755.75 0.9553424 2.477507 0.3856064
ALC1KO exp3 siCtrl exp3 ALC1KO siCtrl ALC1KO siCtrl etoposide_5uM 886 0.69897 835.00 1.0610778 2.465514 0.4303678
ALC1KO exp3 siPARP1 exp3 ALC1KO siPARP1 ALC1KO siPARP1 etoposide_5uM 1220 0.69897 997.25 1.2233643 2.485670 0.4921668
WT exp1 siCtrl exp1 WT siCtrl WT siCtrl etoposide_10uM 685 1.00000 833.00 0.8223289 1.847148 0.4451884
WT exp1 siPARP1 exp1 WT siPARP1 WT siPARP1 etoposide_10uM 43 1.00000 454.50 0.0946095 2.477507 0.0381874
ALC1KO exp1 siCtrl exp1 ALC1KO siCtrl ALC1KO siCtrl etoposide_10uM 11 1.00000 513.75 0.0214112 2.465514 0.0086843
ALC1KO exp1 siPARP1 exp1 ALC1KO siPARP1 ALC1KO siPARP1 etoposide_10uM 7 1.00000 433.25 0.0161570 2.485670 0.0065000
WT exp2 siCtrl exp2 WT siCtrl WT siCtrl etoposide_10uM 1088 1.00000 1485.75 0.7322901 1.847148 0.3964436
WT exp2 siPARP1 exp2 WT siPARP1 WT siPARP1 etoposide_10uM 560 1.00000 784.75 0.7136031 2.477507 0.2880328
ALC1KO exp2 siCtrl exp2 ALC1KO siCtrl ALC1KO siCtrl etoposide_10uM 592 1.00000 808.75 0.7319938 2.465514 0.2968930
ALC1KO exp2 siPARP1 exp2 ALC1KO siPARP1 ALC1KO siPARP1 etoposide_10uM 976 1.00000 1299.00 0.7513472 2.485670 0.3022715
WT exp3 siCtrl exp3 WT siCtrl WT siCtrl etoposide_10uM 991 1.00000 1422.50 0.6966608 1.847148 0.3771548
WT exp3 siPARP1 exp3 WT siPARP1 WT siPARP1 etoposide_10uM 494 1.00000 755.75 0.6536553 2.477507 0.2638360
ALC1KO exp3 siCtrl exp3 ALC1KO siCtrl ALC1KO siCtrl etoposide_10uM 528 1.00000 835.00 0.6323353 2.465514 0.2564720
ALC1KO exp3 siPARP1 exp3 ALC1KO siPARP1 ALC1KO siPARP1 etoposide_10uM 545 1.00000 997.25 0.5465029 2.485670 0.2198614
WT exp1 siCtrl exp1 WT siCtrl WT siCtrl etoposide_25uM 222 1.39794 833.00 0.2665066 1.847148 0.1442800
WT exp1 siPARP1 exp1 WT siPARP1 WT siPARP1 etoposide_25uM 29 1.39794 454.50 0.0638064 2.477507 0.0257543
ALC1KO exp1 siCtrl exp1 ALC1KO siCtrl ALC1KO siCtrl etoposide_25uM 4 1.39794 513.75 0.0077859 2.465514 0.0031579
ALC1KO exp1 siPARP1 exp1 ALC1KO siPARP1 ALC1KO siPARP1 etoposide_25uM 4 1.39794 433.25 0.0092325 2.485670 0.0037143
WT exp2 siCtrl exp2 WT siCtrl WT siCtrl etoposide_25uM 596 1.39794 1485.75 0.4011442 1.847148 0.2171695
WT exp2 siPARP1 exp2 WT siPARP1 WT siPARP1 etoposide_25uM 21 1.39794 784.75 0.0267601 2.477507 0.0108012
ALC1KO exp2 siCtrl exp2 ALC1KO siCtrl ALC1KO siCtrl etoposide_25uM 59 1.39794 808.75 0.0729521 2.465514 0.0295890
ALC1KO exp2 siPARP1 exp2 ALC1KO siPARP1 ALC1KO siPARP1 etoposide_25uM 10 1.39794 1299.00 0.0076982 2.485670 0.0030970
WT exp3 siCtrl exp3 WT siCtrl WT siCtrl etoposide_25uM 566 1.39794 1422.50 0.3978910 1.847148 0.2154083
WT exp3 siPARP1 exp3 WT siPARP1 WT siPARP1 etoposide_25uM 2 1.39794 755.75 0.0026464 2.477507 0.0010682
ALC1KO exp3 siCtrl exp3 ALC1KO siCtrl ALC1KO siCtrl etoposide_25uM 14 1.39794 835.00 0.0167665 2.465514 0.0068004
ALC1KO exp3 siPARP1 exp3 ALC1KO siPARP1 ALC1KO siPARP1 etoposide_25uM 4 1.39794 997.25 0.0040110 2.485670 0.0016137

Plot Data

library(ggplot2)

# raw data
ggplot(dataset, aes(x=Etoposide, y=Counts)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_smooth(method=lm, formula = y ~ poly(x,2), se=FALSE, aes(colour=siRNA)) +
        geom_point(aes(colour=siRNA, shape=Experiment), size=2) +        
        facet_grid(. ~ genotype) +
        xlab(label = "Etoposide (log10 µM)") +
        scale_shape_manual(values=15:20) +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts Linear
ggplot(dataset, aes(x=Etoposide, y=NormCounts, color=siRNA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=siRNA), size=2) +        
        geom_smooth(method=lm, formula = y ~ x, se=FALSE) +
        facet_grid(. ~ genotype) +
        xlab(label = "Etoposide (log10 µM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts2 Linear
ggplot(dataset, aes(x=Etoposide, y=NormCounts2, color=siRNA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=siRNA), size=2) +        
        geom_smooth(method=lm, formula = y ~ x, se=FALSE) +
        facet_grid(. ~ genotype) +
        xlab(label = "Etoposide (log10 µM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts Quadratic
ggplot(dataset, aes(x=Etoposide, y=NormCounts, color=siRNA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=siRNA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,2), se=FALSE) +
        facet_grid(. ~ genotype) +
        xlab(label = "Etoposide (log10 µM)")+
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts2 Quadratic
ggplot(dataset, aes(x=Etoposide, y=NormCounts2, color=siRNA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=siRNA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,2), se=FALSE) +
        facet_grid(. ~ genotype) +
        xlab(label = "Etoposide (log10 µM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts Cubic
ggplot(dataset, aes(x=Etoposide, y=NormCounts, color=siRNA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=siRNA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,3), se=FALSE) +
        facet_grid(. ~ genotype) +
        xlab(label = "Etoposide (log10 µM)")+
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts2 Cubic
ggplot(dataset, aes(x=Etoposide, y=NormCounts2, color=siRNA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=siRNA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,3), se=FALSE) +
        facet_grid(. ~ genotype) +
        xlab(label = "Etoposide (log10 µM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

library(Cairo)


cairo_pdf("FigureS3_eto.pdf", width = 5, height = 4, family = "Arial")

ggplot(dataset, aes(x=Etoposide, y=NormCounts2)) + 
        theme_bw() +
        theme(panel.grid.major=element_blank(), panel.grid.minor=element_blank(), 
              axis.line = element_line(colour = "black"), text = element_text(size=14),
              panel.border = element_blank(), panel.background = element_blank()) +
        geom_point(aes(colour = siRNA, shape = genotype), size=1.75) +
        geom_smooth(method=lm, formula = y ~ poly(x,2), se=TRUE, 
                    aes(group = GSID,colour = siRNA, linetype = genotype), fill='#DDDDDD', size=0.5) +
        #facet_grid(. ~ genotype) +
        xlab(label = "Etoposide (log10 µM)") +
        ylab(label = "Normalized Counts") +
        scale_color_manual(values=c("#000000","#FF0000")) +
        guides(linetype = guide_legend(override.aes= list(color = "#555555"))) 

dev.off()
## quartz_off_screen 
##                 2

Models

library(MASS)
library(DHARMa)
library(lme4)
library(lmerTest)
library(bbmle)

Linear formula

fit1 <- lm(Counts ~ Experiment + Etoposide*siRNA*genotype, data = dataset)
print(summary(fit1))
## 
## Call:
## lm(formula = Counts ~ Experiment + Etoposide * siRNA * genotype, 
##     data = dataset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -612.87 -104.64  -32.67  111.77  852.19 
## 
## Coefficients:
##                                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                            1959.50     151.73  12.915 1.79e-15 ***
## Experimentexp2                          535.94      95.40   5.618 1.90e-06 ***
## Experimentexp3                          444.00      95.40   4.654 3.89e-05 ***
## Etoposide                             -1342.07     152.39  -8.807 1.03e-10 ***
## siRNAsiPARP1                           -717.95     199.94  -3.591 0.000931 ***
## genotypeALC1KO                         -600.72     199.94  -3.005 0.004690 ** 
## Etoposide:siRNAsiPARP1                  175.48     215.51   0.814 0.420572    
## Etoposide:genotypeALC1KO                 94.03     215.51   0.436 0.665071    
## siRNAsiPARP1:genotypeALC1KO            1171.04     282.76   4.141 0.000185 ***
## Etoposide:siRNAsiPARP1:genotypeALC1KO  -514.43     304.78  -1.688 0.099627 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 269.8 on 38 degrees of freedom
## Multiple R-squared:  0.9095, Adjusted R-squared:  0.8881 
## F-statistic: 42.44 on 9 and 38 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit1))
## AIC:  684.3934
simres <- simulateResiduals(fittedModel = fit1)
plot(simres)

fit2 <- lm(NormCounts ~ Etoposide*siRNA*genotype, data = dataset)
print(summary(fit2))
## 
## Call:
## lm(formula = NormCounts ~ Etoposide * siRNA * genotype, data = dataset)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.57621 -0.06797  0.06013  0.12987  0.36272 
## 
## Coefficients:
##                                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                             1.8282     0.1175  15.554  < 2e-16 ***
## Etoposide                              -1.0697     0.1267  -8.443    2e-10 ***
## siRNAsiPARP1                            0.5529     0.1662   3.326 0.001894 ** 
## genotypeALC1KO                          0.5516     0.1662   3.319 0.001936 ** 
## Etoposide:siRNAsiPARP1                 -0.7142     0.1792  -3.986 0.000278 ***
## Etoposide:genotypeALC1KO               -0.7125     0.1792  -3.977 0.000285 ***
## siRNAsiPARP1:genotypeALC1KO            -0.5239     0.2351  -2.229 0.031515 *  
## Etoposide:siRNAsiPARP1:genotypeALC1KO   0.6767     0.2534   2.671 0.010892 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2243 on 40 degrees of freedom
## Multiple R-squared:  0.944,  Adjusted R-squared:  0.9341 
## F-statistic: 96.24 on 7 and 40 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit2))
## AIC:  1.984
simres <- simulateResiduals(fittedModel = fit2)
plot(simres)

fit3 <- lm(NormCounts2 ~ Etoposide*siRNA*genotype, data = dataset)
print(summary(fit3))
## 
## Call:
## lm(formula = NormCounts2 ~ Etoposide * siRNA * genotype, data = dataset)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.23371 -0.03407  0.02551  0.05485  0.14712 
## 
## Coefficients:
##                                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                            0.98976    0.04846  20.426  < 2e-16 ***
## Etoposide                             -0.57913    0.05223 -11.088 9.04e-14 ***
## siRNAsiPARP1                          -0.02865    0.06853  -0.418   0.6781    
## genotypeALC1KO                        -0.02450    0.06853  -0.357   0.7226    
## Etoposide:siRNAsiPARP1                -0.14091    0.07386  -1.908   0.0636 .  
## Etoposide:genotypeALC1KO              -0.14373    0.07386  -1.946   0.0587 .  
## siRNAsiPARP1:genotypeALC1KO            0.03248    0.09691   0.335   0.7392    
## Etoposide:siRNAsiPARP1:genotypeALC1KO  0.13171    0.10446   1.261   0.2147    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.09248 on 40 degrees of freedom
## Multiple R-squared:  0.9474, Adjusted R-squared:  0.9382 
## F-statistic:   103 on 7 and 40 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit3))
## AIC:  -83.08461
simres <- simulateResiduals(fittedModel = fit3)
plot(simres)

fit4 <- lmer(Counts ~ Etoposide*siRNA*genotype + (1|UID), data = dataset)
print(summary(fit4))
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Counts ~ Etoposide * siRNA * genotype + (1 | UID)
##    Data: dataset
## 
## REML criterion at convergence: 588.7
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.05873 -0.41520 -0.03368  0.41184  2.78089 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  UID      (Intercept) 79092    281.2   
##  Residual             71604    267.6   
## Number of obs: 48, groups:  UID, 12
## 
## Fixed effects:
##                                       Estimate Std. Error       df t value
## (Intercept)                            2286.15     214.53    15.51  10.657
## Etoposide                             -1342.07     151.12    32.00  -8.881
## siRNAsiPARP1                           -717.95     303.38    15.51  -2.366
## genotypeALC1KO                         -600.72     303.38    15.51  -1.980
## Etoposide:siRNAsiPARP1                  175.48     213.72    32.00   0.821
## Etoposide:genotypeALC1KO                 94.03     213.72    32.00   0.440
## siRNAsiPARP1:genotypeALC1KO            1171.04     429.05    15.51   2.729
## Etoposide:siRNAsiPARP1:genotypeALC1KO  -514.43     302.25    32.00  -1.702
##                                       Pr(>|t|)    
## (Intercept)                           1.54e-08 ***
## Etoposide                             3.81e-10 ***
## siRNAsiPARP1                            0.0313 *  
## genotypeALC1KO                          0.0657 .  
## Etoposide:siRNAsiPARP1                  0.4177    
## Etoposide:genotypeALC1KO                0.6629    
## siRNAsiPARP1:genotypeALC1KO             0.0152 *  
## Etoposide:siRNAsiPARP1:genotypeALC1KO   0.0984 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) Etopsd sRNAsPARP1 gALC1K Et:RNAPARP1 E:ALC1 sRNAPARP1:
## Etoposide   -0.545                                                       
## siRNAsPARP1 -0.707  0.386                                                
## gntypALC1KO -0.707  0.386  0.500                                         
## Et:RNAPARP1  0.386 -0.707 -0.545     -0.273                              
## Etps:ALC1KO  0.386 -0.707 -0.273     -0.545  0.500                       
## sRNAPARP1:A  0.500 -0.273 -0.707     -0.707  0.386       0.386           
## E:RNAPARP1: -0.273  0.500  0.386      0.386 -0.707      -0.707 -0.545
cat("AIC: ", AIC(fit4))
## AIC:  608.7001
simres <- simulateResiduals(fittedModel = fit4)
plot(simres)

Quadratic formula

fit5 <- lm(Counts ~ Experiment + poly(Etoposide,2)*siRNA*genotype, data = dataset)
print(summary(fit5))
## 
## Call:
## lm(formula = Counts ~ Experiment + poly(Etoposide, 2) * siRNA * 
##     genotype, data = dataset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -678.58 -119.82  -13.13   67.68  786.48 
## 
## Coefficients:
##                                                 Estimate Std. Error t value
## (Intercept)                                       920.44      96.42   9.546
## Experimentexp2                                    535.94      96.42   5.558
## Experimentexp3                                    444.00      96.42   4.605
## poly(Etoposide, 2)1                             -4752.70     545.46  -8.713
## poly(Etoposide, 2)2                               337.13     545.46   0.618
## siRNAsiPARP1                                     -582.08     111.34  -5.228
## genotypeALC1KO                                   -527.92     111.34  -4.741
## poly(Etoposide, 2)1:siRNAsiPARP1                  621.44     771.39   0.806
## poly(Etoposide, 2)2:siRNAsiPARP1                  186.92     771.39   0.242
## poly(Etoposide, 2)1:genotypeALC1KO                333.00     771.39   0.432
## poly(Etoposide, 2)2:genotypeALC1KO                167.42     771.39   0.217
## siRNAsiPARP1:genotypeALC1KO                       772.75     157.46   4.908
## poly(Etoposide, 2)1:siRNAsiPARP1:genotypeALC1KO -1821.77    1090.91  -1.670
## poly(Etoposide, 2)2:siRNAsiPARP1:genotypeALC1KO  -136.10    1090.91  -0.125
##                                                 Pr(>|t|)    
## (Intercept)                                     3.78e-11 ***
## Experimentexp2                                  3.23e-06 ***
## Experimentexp3                                  5.56e-05 ***
## poly(Etoposide, 2)1                             3.51e-10 ***
## poly(Etoposide, 2)2                                0.541    
## siRNAsiPARP1                                    8.69e-06 ***
## genotypeALC1KO                                  3.71e-05 ***
## poly(Etoposide, 2)1:siRNAsiPARP1                   0.426    
## poly(Etoposide, 2)2:siRNAsiPARP1                   0.810    
## poly(Etoposide, 2)1:genotypeALC1KO                 0.669    
## poly(Etoposide, 2)2:genotypeALC1KO                 0.829    
## siRNAsiPARP1:genotypeALC1KO                     2.26e-05 ***
## poly(Etoposide, 2)1:siRNAsiPARP1:genotypeALC1KO    0.104    
## poly(Etoposide, 2)2:siRNAsiPARP1:genotypeALC1KO    0.901    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 272.7 on 34 degrees of freedom
## Multiple R-squared:  0.9173, Adjusted R-squared:  0.8857 
## F-statistic: 29.01 on 13 and 34 DF,  p-value: 1.325e-14
cat("AIC: ", AIC(fit5))
## AIC:  688.0792
simres <- simulateResiduals(fittedModel = fit5)
plot(simres)

fit6 <- lm(NormCounts ~ poly(Etoposide,2)*siRNA*genotype, data = dataset)
print(summary(fit6))
## 
## Call:
## lm(formula = NormCounts ~ poly(Etoposide, 2) * siRNA * genotype, 
##     data = dataset)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.49539 -0.09131  0.01085  0.13695  0.27277 
## 
## Coefficients:
##                                                   Estimate Std. Error t value
## (Intercept)                                      1.000e+00  5.989e-02  16.697
## poly(Etoposide, 2)1                             -3.788e+00  4.149e-01  -9.130
## poly(Etoposide, 2)2                              1.515e-01  4.149e-01   0.365
## siRNAsiPARP1                                    -1.894e-17  8.470e-02   0.000
## genotypeALC1KO                                  -3.408e-16  8.470e-02   0.000
## poly(Etoposide, 2)1:siRNAsiPARP1                -2.529e+00  5.868e-01  -4.310
## poly(Etoposide, 2)2:siRNAsiPARP1                 6.843e-01  5.868e-01   1.166
## poly(Etoposide, 2)1:genotypeALC1KO              -2.523e+00  5.868e-01  -4.300
## poly(Etoposide, 2)2:genotypeALC1KO               6.269e-01  5.868e-01   1.068
## siRNAsiPARP1:genotypeALC1KO                      4.199e-16  1.198e-01   0.000
## poly(Etoposide, 2)1:siRNAsiPARP1:genotypeALC1KO  2.396e+00  8.299e-01   2.888
## poly(Etoposide, 2)2:siRNAsiPARP1:genotypeALC1KO -7.370e-01  8.299e-01  -0.888
##                                                 Pr(>|t|)    
## (Intercept)                                      < 2e-16 ***
## poly(Etoposide, 2)1                             6.67e-11 ***
## poly(Etoposide, 2)2                             0.717151    
## siRNAsiPARP1                                    1.000000    
## genotypeALC1KO                                  1.000000    
## poly(Etoposide, 2)1:siRNAsiPARP1                0.000121 ***
## poly(Etoposide, 2)2:siRNAsiPARP1                0.251248    
## poly(Etoposide, 2)1:genotypeALC1KO              0.000125 ***
## poly(Etoposide, 2)2:genotypeALC1KO              0.292513    
## siRNAsiPARP1:genotypeALC1KO                     1.000000    
## poly(Etoposide, 2)1:siRNAsiPARP1:genotypeALC1KO 0.006526 ** 
## poly(Etoposide, 2)2:siRNAsiPARP1:genotypeALC1KO 0.380373    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2075 on 36 degrees of freedom
## Multiple R-squared:  0.9569, Adjusted R-squared:  0.9437 
## F-statistic: 72.59 on 11 and 36 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit6))
## AIC:  -2.576078
simres <- simulateResiduals(fittedModel = fit6)
plot(simres)

fit7 <- lm(NormCounts2 ~ poly(Etoposide,2)*siRNA*genotype, data = dataset)
print(summary(fit7))
## 
## Call:
## lm(formula = NormCounts2 ~ poly(Etoposide, 2) * siRNA * genotype, 
##     data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.199934 -0.038681  0.004367  0.057228  0.109769 
## 
## Coefficients:
##                                                 Estimate Std. Error t value
## (Intercept)                                      0.54138    0.02480  21.827
## poly(Etoposide, 2)1                             -2.05090    0.17184 -11.935
## poly(Etoposide, 2)2                              0.08202    0.17184   0.477
## siRNAsiPARP1                                    -0.13774    0.03508  -3.927
## genotypeALC1KO                                  -0.13578    0.03508  -3.871
## poly(Etoposide, 2)1:siRNAsiPARP1                -0.49900    0.24302  -2.053
## poly(Etoposide, 2)2:siRNAsiPARP1                 0.25533    0.24302   1.051
## poly(Etoposide, 2)1:genotypeALC1KO              -0.50901    0.24302  -2.095
## poly(Etoposide, 2)2:genotypeALC1KO               0.23369    0.24302   0.962
## siRNAsiPARP1:genotypeALC1KO                      0.13445    0.04961   2.710
## poly(Etoposide, 2)1:siRNAsiPARP1:genotypeALC1KO  0.46642    0.34368   1.357
## poly(Etoposide, 2)2:siRNAsiPARP1:genotypeALC1KO -0.27911    0.34368  -0.812
##                                                 Pr(>|t|)    
## (Intercept)                                      < 2e-16 ***
## poly(Etoposide, 2)1                              4.5e-14 ***
## poly(Etoposide, 2)2                             0.636020    
## siRNAsiPARP1                                    0.000373 ***
## genotypeALC1KO                                  0.000439 ***
## poly(Etoposide, 2)1:siRNAsiPARP1                0.047359 *  
## poly(Etoposide, 2)2:siRNAsiPARP1                0.300423    
## poly(Etoposide, 2)1:genotypeALC1KO              0.043315 *  
## poly(Etoposide, 2)2:genotypeALC1KO              0.342667    
## siRNAsiPARP1:genotypeALC1KO                     0.010228 *  
## poly(Etoposide, 2)1:siRNAsiPARP1:genotypeALC1KO 0.183185    
## poly(Etoposide, 2)2:siRNAsiPARP1:genotypeALC1KO 0.422057    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.08592 on 36 degrees of freedom
## Multiple R-squared:  0.9592, Adjusted R-squared:  0.9467 
## F-statistic: 76.87 on 11 and 36 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit7))
## AIC:  -87.20724
simres <- simulateResiduals(fittedModel = fit7)
plot(simres)

fit8 <- lmer(Counts ~ poly(Etoposide,2)*siRNA*genotype + (1|UID), data = dataset)
print(summary(fit8))
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Counts ~ poly(Etoposide, 2) * siRNA * genotype + (1 | UID)
##    Data: dataset
## 
## REML criterion at convergence: 517.6
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.28471 -0.36996 -0.04778  0.38440  2.51161 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  UID      (Intercept) 78658    280.5   
##  Residual             73340    270.8   
## Number of obs: 48, groups:  UID, 12
## 
## Fixed effects:
##                                                 Estimate Std. Error      df
## (Intercept)                                       1247.1      179.8     8.0
## poly(Etoposide, 2)1                              -4752.7      541.6    28.0
## poly(Etoposide, 2)2                                337.1      541.6    28.0
## siRNAsiPARP1                                      -582.1      254.3     8.0
## genotypeALC1KO                                    -527.9      254.3     8.0
## poly(Etoposide, 2)1:siRNAsiPARP1                   621.4      766.0    28.0
## poly(Etoposide, 2)2:siRNAsiPARP1                   186.9      766.0    28.0
## poly(Etoposide, 2)1:genotypeALC1KO                 333.0      766.0    28.0
## poly(Etoposide, 2)2:genotypeALC1KO                 167.4      766.0    28.0
## siRNAsiPARP1:genotypeALC1KO                        772.8      359.6     8.0
## poly(Etoposide, 2)1:siRNAsiPARP1:genotypeALC1KO  -1821.8     1083.3    28.0
## poly(Etoposide, 2)2:siRNAsiPARP1:genotypeALC1KO   -136.1     1083.3    28.0
##                                                 t value Pr(>|t|)    
## (Intercept)                                       6.936  0.00012 ***
## poly(Etoposide, 2)1                              -8.775 1.59e-09 ***
## poly(Etoposide, 2)2                               0.622  0.53868    
## siRNAsiPARP1                                     -2.289  0.05134 .  
## genotypeALC1KO                                   -2.076  0.07155 .  
## poly(Etoposide, 2)1:siRNAsiPARP1                  0.811  0.42403    
## poly(Etoposide, 2)2:siRNAsiPARP1                  0.244  0.80899    
## poly(Etoposide, 2)1:genotypeALC1KO                0.435  0.66708    
## poly(Etoposide, 2)2:genotypeALC1KO                0.219  0.82857    
## siRNAsiPARP1:genotypeALC1KO                       2.149  0.06389 .  
## poly(Etoposide, 2)1:siRNAsiPARP1:genotypeALC1KO  -1.682  0.10374    
## poly(Etoposide, 2)2:siRNAsiPARP1:genotypeALC1KO  -0.126  0.90091    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                   (Intr) pl(E,2)1 pl(E,2)2 sRNAsPARP1 gALC1K pl(E,2)1:RNAPARP1
## ply(Etp,2)1        0.000                                                      
## ply(Etp,2)2        0.000  0.000                                               
## siRNAsPARP1       -0.707  0.000    0.000                                      
## gntypALC1KO       -0.707  0.000    0.000    0.500                             
## pl(E,2)1:RNAPARP1  0.000 -0.707    0.000    0.000      0.000                  
## pl(E,2)2:RNAPARP1  0.000  0.000   -0.707    0.000      0.000  0.000           
## p(E,2)1:ALC        0.000 -0.707    0.000    0.000      0.000  0.500           
## p(E,2)2:ALC        0.000  0.000   -0.707    0.000      0.000  0.000           
## sRNAPARP1:A        0.500  0.000    0.000   -0.707     -0.707  0.000           
## p(E,2)1:RNAPARP1:  0.000  0.500    0.000    0.000      0.000 -0.707           
## p(E,2)2:RNAPARP1:  0.000  0.000    0.500    0.000      0.000  0.000           
##                   pl(E,2)2:RNAPARP1 p(E,2)1:A p(E,2)2:A sRNAPARP1:
## ply(Etp,2)1                                                       
## ply(Etp,2)2                                                       
## siRNAsPARP1                                                       
## gntypALC1KO                                                       
## pl(E,2)1:RNAPARP1                                                 
## pl(E,2)2:RNAPARP1                                                 
## p(E,2)1:ALC        0.000                                          
## p(E,2)2:ALC        0.500             0.000                        
## sRNAPARP1:A        0.000             0.000     0.000              
## p(E,2)1:RNAPARP1:  0.000            -0.707     0.000     0.000    
## p(E,2)2:RNAPARP1: -0.707             0.000    -0.707     0.000    
##                   p(E,2)1:RNAPARP1:
## ply(Etp,2)1                        
## ply(Etp,2)2                        
## siRNAsPARP1                        
## gntypALC1KO                        
## pl(E,2)1:RNAPARP1                  
## pl(E,2)2:RNAPARP1                  
## p(E,2)1:ALC                        
## p(E,2)2:ALC                        
## sRNAPARP1:A                        
## p(E,2)1:RNAPARP1:                  
## p(E,2)2:RNAPARP1:  0.000
cat("AIC: ", AIC(fit8))
## AIC:  545.6423
simres <- simulateResiduals(fittedModel = fit8)
plot(simres)

Cubic formula

fit9 <- lm(Counts ~ Experiment + poly(Etoposide,3)*siRNA*genotype, data = dataset)
print(summary(fit9))
## 
## Call:
## lm(formula = Counts ~ Experiment + poly(Etoposide, 3) * siRNA * 
##     genotype, data = dataset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -680.69 -115.51  -13.82   72.61  784.38 
## 
## Coefficients:
##                                                 Estimate Std. Error t value
## (Intercept)                                       920.44     102.55   8.975
## Experimentexp2                                    535.94     102.55   5.226
## Experimentexp3                                    444.00     102.55   4.330
## poly(Etoposide, 3)1                             -4752.70     580.12  -8.193
## poly(Etoposide, 3)2                               337.13     580.12   0.581
## poly(Etoposide, 3)3                               -61.44     580.12  -0.106
## siRNAsiPARP1                                     -582.08     118.42  -4.916
## genotypeALC1KO                                   -527.92     118.42  -4.458
## poly(Etoposide, 3)1:siRNAsiPARP1                  621.44     820.41   0.757
## poly(Etoposide, 3)2:siRNAsiPARP1                  186.92     820.41   0.228
## poly(Etoposide, 3)3:siRNAsiPARP1                  -31.34     820.41  -0.038
## poly(Etoposide, 3)1:genotypeALC1KO                333.00     820.41   0.406
## poly(Etoposide, 3)2:genotypeALC1KO                167.42     820.41   0.204
## poly(Etoposide, 3)3:genotypeALC1KO                 91.05     820.41   0.111
## siRNAsiPARP1:genotypeALC1KO                       772.75     167.47   4.614
## poly(Etoposide, 3)1:siRNAsiPARP1:genotypeALC1KO -1821.77    1160.24  -1.570
## poly(Etoposide, 3)2:siRNAsiPARP1:genotypeALC1KO  -136.10    1160.24  -0.117
## poly(Etoposide, 3)3:siRNAsiPARP1:genotypeALC1KO   -77.66    1160.24  -0.067
##                                                 Pr(>|t|)    
## (Intercept)                                     5.33e-10 ***
## Experimentexp2                                  1.23e-05 ***
## Experimentexp3                                  0.000153 ***
## poly(Etoposide, 3)1                             3.81e-09 ***
## poly(Etoposide, 3)2                             0.565484    
## poly(Etoposide, 3)3                             0.916364    
## siRNAsiPARP1                                    2.96e-05 ***
## genotypeALC1KO                                  0.000107 ***
## poly(Etoposide, 3)1:siRNAsiPARP1                0.454676    
## poly(Etoposide, 3)2:siRNAsiPARP1                0.821318    
## poly(Etoposide, 3)3:siRNAsiPARP1                0.969780    
## poly(Etoposide, 3)1:genotypeALC1KO              0.687699    
## poly(Etoposide, 3)2:genotypeALC1KO              0.839682    
## poly(Etoposide, 3)3:genotypeALC1KO              0.912372    
## siRNAsiPARP1:genotypeALC1KO                     6.91e-05 ***
## poly(Etoposide, 3)1:siRNAsiPARP1:genotypeALC1KO 0.126864    
## poly(Etoposide, 3)2:siRNAsiPARP1:genotypeALC1KO 0.907400    
## poly(Etoposide, 3)3:siRNAsiPARP1:genotypeALC1KO 0.947078    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 290.1 on 30 degrees of freedom
## Multiple R-squared:  0.9175, Adjusted R-squared:  0.8707 
## F-statistic: 19.62 on 17 and 30 DF,  p-value: 8.983e-12
cat("AIC: ", AIC(fit9))
## AIC:  695.9863
simres <- simulateResiduals(fittedModel = fit9)
plot(simres)

fit10 <- lm(NormCounts ~ poly(Etoposide,3)*siRNA*genotype, data = dataset)
print(summary(fit10))
## 
## Call:
## lm(formula = NormCounts ~ poly(Etoposide, 3) * siRNA * genotype, 
##     data = dataset)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.44050 -0.08879 -0.00180  0.14256  0.31334 
## 
## Coefficients:
##                                                   Estimate Std. Error t value
## (Intercept)                                      1.000e+00  6.257e-02  15.981
## poly(Etoposide, 3)1                             -3.788e+00  4.335e-01  -8.738
## poly(Etoposide, 3)2                              1.515e-01  4.335e-01   0.349
## poly(Etoposide, 3)3                             -3.761e-02  4.335e-01  -0.087
## siRNAsiPARP1                                    -2.985e-16  8.849e-02   0.000
## genotypeALC1KO                                  -4.724e-16  8.849e-02   0.000
## poly(Etoposide, 3)1:siRNAsiPARP1                -2.529e+00  6.131e-01  -4.125
## poly(Etoposide, 3)2:siRNAsiPARP1                 6.843e-01  6.131e-01   1.116
## poly(Etoposide, 3)3:siRNAsiPARP1                 1.324e-01  6.131e-01   0.216
## poly(Etoposide, 3)1:genotypeALC1KO              -2.523e+00  6.131e-01  -4.115
## poly(Etoposide, 3)2:genotypeALC1KO               6.269e-01  6.131e-01   1.022
## poly(Etoposide, 3)3:genotypeALC1KO               2.795e-01  6.131e-01   0.456
## siRNAsiPARP1:genotypeALC1KO                      3.127e-16  1.251e-01   0.000
## poly(Etoposide, 3)1:siRNAsiPARP1:genotypeALC1KO  2.396e+00  8.671e-01   2.764
## poly(Etoposide, 3)2:siRNAsiPARP1:genotypeALC1KO -7.370e-01  8.671e-01  -0.850
## poly(Etoposide, 3)3:siRNAsiPARP1:genotypeALC1KO -3.503e-02  8.671e-01  -0.040
##                                                 Pr(>|t|)    
## (Intercept)                                      < 2e-16 ***
## poly(Etoposide, 3)1                             5.51e-10 ***
## poly(Etoposide, 3)2                             0.729023    
## poly(Etoposide, 3)3                             0.931406    
## siRNAsiPARP1                                    1.000000    
## genotypeALC1KO                                  1.000000    
## poly(Etoposide, 3)1:siRNAsiPARP1                0.000246 ***
## poly(Etoposide, 3)2:siRNAsiPARP1                0.272697    
## poly(Etoposide, 3)3:siRNAsiPARP1                0.830420    
## poly(Etoposide, 3)1:genotypeALC1KO              0.000253 ***
## poly(Etoposide, 3)2:genotypeALC1KO              0.314232    
## poly(Etoposide, 3)3:genotypeALC1KO              0.651548    
## siRNAsiPARP1:genotypeALC1KO                     1.000000    
## poly(Etoposide, 3)1:siRNAsiPARP1:genotypeALC1KO 0.009393 ** 
## poly(Etoposide, 3)2:siRNAsiPARP1:genotypeALC1KO 0.401620    
## poly(Etoposide, 3)3:siRNAsiPARP1:genotypeALC1KO 0.968022    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2168 on 32 degrees of freedom
## Multiple R-squared:  0.9581, Adjusted R-squared:  0.9385 
## F-statistic: 48.83 on 15 and 32 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit10))
## AIC:  3.977467
simres <- simulateResiduals(fittedModel = fit10)
plot(simres)

fit11 <- lm(NormCounts2 ~ poly(Etoposide,3)*siRNA*genotype, data = dataset)
print(summary(fit11))
## 
## Call:
## lm(formula = NormCounts2 ~ poly(Etoposide, 3) * siRNA * genotype, 
##     data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.178665 -0.037267 -0.000769  0.058767  0.126061 
## 
## Coefficients:
##                                                 Estimate Std. Error t value
## (Intercept)                                      0.54138    0.02593  20.877
## poly(Etoposide, 3)1                             -2.05090    0.17966 -11.415
## poly(Etoposide, 3)2                              0.08202    0.17966   0.457
## poly(Etoposide, 3)3                             -0.02036    0.17966  -0.113
## siRNAsiPARP1                                    -0.13774    0.03667  -3.756
## genotypeALC1KO                                  -0.13578    0.03667  -3.702
## poly(Etoposide, 3)1:siRNAsiPARP1                -0.49900    0.25408  -1.964
## poly(Etoposide, 3)2:siRNAsiPARP1                 0.25533    0.25408   1.005
## poly(Etoposide, 3)3:siRNAsiPARP1                 0.05861    0.25408   0.231
## poly(Etoposide, 3)1:genotypeALC1KO              -0.50901    0.25408  -2.003
## poly(Etoposide, 3)2:genotypeALC1KO               0.23369    0.25408   0.920
## poly(Etoposide, 3)3:genotypeALC1KO               0.11847    0.25408   0.466
## siRNAsiPARP1:genotypeALC1KO                      0.13445    0.05186   2.592
## poly(Etoposide, 3)1:siRNAsiPARP1:genotypeALC1KO  0.46642    0.35932   1.298
## poly(Etoposide, 3)2:siRNAsiPARP1:genotypeALC1KO -0.27911    0.35932  -0.777
## poly(Etoposide, 3)3:siRNAsiPARP1:genotypeALC1KO -0.02025    0.35932  -0.056
##                                                 Pr(>|t|)    
## (Intercept)                                      < 2e-16 ***
## poly(Etoposide, 3)1                             8.08e-13 ***
## poly(Etoposide, 3)2                             0.651087    
## poly(Etoposide, 3)3                             0.910474    
## siRNAsiPARP1                                    0.000692 ***
## genotypeALC1KO                                  0.000802 ***
## poly(Etoposide, 3)1:siRNAsiPARP1                0.058274 .  
## poly(Etoposide, 3)2:siRNAsiPARP1                0.322482    
## poly(Etoposide, 3)3:siRNAsiPARP1                0.819023    
## poly(Etoposide, 3)1:genotypeALC1KO              0.053672 .  
## poly(Etoposide, 3)2:genotypeALC1KO              0.364596    
## poly(Etoposide, 3)3:genotypeALC1KO              0.644170    
## siRNAsiPARP1:genotypeALC1KO                     0.014246 *  
## poly(Etoposide, 3)1:siRNAsiPARP1:genotypeALC1KO 0.203548    
## poly(Etoposide, 3)2:siRNAsiPARP1:genotypeALC1KO 0.443001    
## poly(Etoposide, 3)3:siRNAsiPARP1:genotypeALC1KO 0.955418    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.08983 on 32 degrees of freedom
## Multiple R-squared:  0.9603, Adjusted R-squared:  0.9417 
## F-statistic: 51.63 on 15 and 32 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit11))
## AIC:  -80.5874
simres <- simulateResiduals(fittedModel = fit11)
plot(simres)

fit12 <- lmer(Counts ~ poly(Etoposide,3)*siRNA*genotype + (1|UID), data = dataset)
print(summary(fit12))
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Counts ~ poly(Etoposide, 3) * siRNA * genotype + (1 | UID)
##    Data: dataset
## 
## REML criterion at convergence: 459.6
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.17552 -0.31765 -0.02158  0.33740  2.36211 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  UID      (Intercept) 75654    275.1   
##  Residual             85359    292.2   
## Number of obs: 48, groups:  UID, 12
## 
## Fixed effects:
##                                                 Estimate Std. Error       df
## (Intercept)                                      1247.08     179.81     8.00
## poly(Etoposide, 3)1                             -4752.70     584.33    24.00
## poly(Etoposide, 3)2                               337.13     584.33    24.00
## poly(Etoposide, 3)3                               -61.44     584.33    24.00
## siRNAsiPARP1                                     -582.08     254.29     8.00
## genotypeALC1KO                                   -527.92     254.29     8.00
## poly(Etoposide, 3)1:siRNAsiPARP1                  621.44     826.36    24.00
## poly(Etoposide, 3)2:siRNAsiPARP1                  186.92     826.36    24.00
## poly(Etoposide, 3)3:siRNAsiPARP1                  -31.34     826.36    24.00
## poly(Etoposide, 3)1:genotypeALC1KO                333.00     826.36    24.00
## poly(Etoposide, 3)2:genotypeALC1KO                167.42     826.36    24.00
## poly(Etoposide, 3)3:genotypeALC1KO                 91.05     826.36    24.00
## siRNAsiPARP1:genotypeALC1KO                       772.75     359.62     8.00
## poly(Etoposide, 3)1:siRNAsiPARP1:genotypeALC1KO -1821.77    1168.65    24.00
## poly(Etoposide, 3)2:siRNAsiPARP1:genotypeALC1KO  -136.10    1168.65    24.00
## poly(Etoposide, 3)3:siRNAsiPARP1:genotypeALC1KO   -77.66    1168.65    24.00
##                                                 t value Pr(>|t|)    
## (Intercept)                                       6.936  0.00012 ***
## poly(Etoposide, 3)1                              -8.134 2.35e-08 ***
## poly(Etoposide, 3)2                               0.577  0.56934    
## poly(Etoposide, 3)3                              -0.105  0.91714    
## siRNAsiPARP1                                     -2.289  0.05134 .  
## genotypeALC1KO                                   -2.076  0.07155 .  
## poly(Etoposide, 3)1:siRNAsiPARP1                  0.752  0.45935    
## poly(Etoposide, 3)2:siRNAsiPARP1                  0.226  0.82296    
## poly(Etoposide, 3)3:siRNAsiPARP1                 -0.038  0.97006    
## poly(Etoposide, 3)1:genotypeALC1KO                0.403  0.69053    
## poly(Etoposide, 3)2:genotypeALC1KO                0.203  0.84116    
## poly(Etoposide, 3)3:genotypeALC1KO                0.110  0.91318    
## siRNAsiPARP1:genotypeALC1KO                       2.149  0.06389 .  
## poly(Etoposide, 3)1:siRNAsiPARP1:genotypeALC1KO  -1.559  0.13212    
## poly(Etoposide, 3)2:siRNAsiPARP1:genotypeALC1KO  -0.116  0.90826    
## poly(Etoposide, 3)3:siRNAsiPARP1:genotypeALC1KO  -0.066  0.94757    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cat("AIC: ", AIC(fit12))
## AIC:  495.5766
simres <- simulateResiduals(fittedModel = fit12)
plot(simres)

Compare Results

ICtab(fit1,fit2,fit3,fit4,
      fit5,fit6,fit7,fit8,
      fit9,fit10,fit11,fit12,
      base=T)
##       AIC   dAIC  df
## fit7  -87.2   0.0 13
## fit3  -83.1   4.1 9 
## fit11 -80.6   6.6 17
## fit6   -2.6  84.6 13
## fit2    2.0  89.2 9 
## fit10   4.0  91.2 17
## fit12 495.6 582.8 18
## fit8  545.6 632.8 14
## fit4  608.7 695.9 10
## fit1  684.4 771.6 11
## fit5  688.1 775.3 15
## fit9  696.0 783.2 19

Final Result

fit <- fit7

output <- coef(summary(fit))
output <- output[grep("Etoposide", rownames(output)),]



rownames(output) <- gsub("poly\\(|, [1-3]\\)","", rownames(output) )
rownames(output) <- gsub("genotype",  paste0(" ",levels(dataset$genotype)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$genotype)[1],  sep = " in " )

rownames(output) <- gsub("siRNA",  paste0(" ",levels(dataset$siRNA)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs.*vs| in ", rownames(output)))] <- paste(rownames(output)[!(grepl("vs.*vs| in ", rownames(output)))], levels(dataset$siRNA)[1],  sep = " in " )

rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$siRNA)[1],  sep = " " )


# suggested result table
kable(output, row.names = T)
Estimate Std. Error t value Pr(>|t|)
Etoposide1 in WT siCtrl -2.0508960 0.1718398 -11.9349267 0.0000000
Etoposide2 in WT siCtrl 0.0820225 0.1718398 0.4773193 0.6360200
Etoposide1: siCtrl vs. siPARP1 in WT -0.4990002 0.2430182 -2.0533444 0.0473592
Etoposide2: siCtrl vs. siPARP1 in WT 0.2553265 0.2430182 1.0506474 0.3004225
Etoposide1: WT vs. ALC1KO in siCtrl -0.5090070 0.2430182 -2.0945218 0.0433145
Etoposide2: WT vs. ALC1KO in siCtrl 0.2336853 0.2430182 0.9615957 0.3426674
Etoposide1: siCtrl vs. siPARP1: WT vs. ALC1KO 0.4664218 0.3436797 1.3571409 0.1831849
Etoposide2: siCtrl vs. siPARP1: WT vs. ALC1KO -0.2791111 0.3436797 -0.8121256 0.4220574
write.table(output, file = "FigureS3_eto_Stats_Ref_WT.txt", quote = F, sep = "\t", row.names = T, col.names = NA)
# re-fit with ALC1KO reference
dataset$genotype <- relevel(dataset$genotype, ref = "ALC1KO")


fit <- lm(NormCounts2 ~ poly(Etoposide,2)*siRNA*genotype, data = dataset)

output <- coef(summary(fit))
output <- output[grep("Etoposide", rownames(output)),]


rownames(output) <- gsub("poly\\(|, [1-3]\\)","", rownames(output) )
rownames(output) <- gsub("genotype",  paste0(" ",levels(dataset$genotype)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$genotype)[1],  sep = " in " )

rownames(output) <- gsub("siRNA",  paste0(" ",levels(dataset$siRNA)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs.*vs| in ", rownames(output)))] <- paste(rownames(output)[!(grepl("vs.*vs| in ", rownames(output)))], levels(dataset$siRNA)[1],  sep = " in " )

rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$siRNA)[1],  sep = " " )


# suggested result table
kable(output, row.names = T)
Estimate Std. Error t value Pr(>|t|)
Etoposide1 in ALC1KO siCtrl -2.5599030 0.1718398 -14.8970279 0.0000000
Etoposide2 in ALC1KO siCtrl 0.3157078 0.1718398 1.8372209 0.0744433
Etoposide1: siCtrl vs. siPARP1 in ALC1KO -0.0325784 0.2430182 -0.1340573 0.8941039
Etoposide2: siCtrl vs. siPARP1 in ALC1KO -0.0237846 0.2430182 -0.0978717 0.9225771
Etoposide1: ALC1KO vs. WT in siCtrl 0.5090070 0.2430182 2.0945218 0.0433145
Etoposide2: ALC1KO vs. WT in siCtrl -0.2336853 0.2430182 -0.9615957 0.3426674
Etoposide1: siCtrl vs. siPARP1: ALC1KO vs. WT -0.4664218 0.3436797 -1.3571409 0.1831849
Etoposide2: siCtrl vs. siPARP1: ALC1KO vs. WT 0.2791111 0.3436797 0.8121256 0.4220574
write.table(output, file = "FigureS3_eto_Stats_Ref_ALC1.txt", quote = F, sep = "\t", row.names = T, col.names = NA)

Anova

fit7a <- lm(NormCounts2 ~ poly(Etoposide,2)*siRNA*genotype, data = dataset)
fit7b <- lm(NormCounts2 ~ poly(Etoposide,2)*siRNA+genotype, data = dataset)

# anova table
anova(fit7a, fit7b)
## Analysis of Variance Table
## 
## Model 1: NormCounts2 ~ poly(Etoposide, 2) * siRNA * genotype
## Model 2: NormCounts2 ~ poly(Etoposide, 2) * siRNA + genotype
##   Res.Df     RSS Df Sum of Sq      F Pr(>F)  
## 1     36 0.26576                             
## 2     41 0.35969 -5 -0.093931 2.5448 0.0452 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
fit7c <- lm(NormCounts2 ~ poly(Etoposide,2)*genotype*siRNA, data = dataset)
fit7d <- lm(NormCounts2 ~ poly(Etoposide,2)*genotype+siRNA, data = dataset)

# anova table
anova(fit7c, fit7d)
## Analysis of Variance Table
## 
## Model 1: NormCounts2 ~ poly(Etoposide, 2) * genotype * siRNA
## Model 2: NormCounts2 ~ poly(Etoposide, 2) * genotype + siRNA
##   Res.Df     RSS Df Sum of Sq      F Pr(>F)  
## 1     36 0.26576                             
## 2     41 0.35947 -5 -0.093711 2.5388 0.0456 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1